Precise Specification of Design Pattern Structure and Behaviour
نویسندگان
چکیده
Applying design patterns while developing a software system can improve its non-functional properties, such as extensibility and loose coupling. Precise specification of structure and behaviour communicates the invariants imposed by a pattern on a conforming implementation and enables formal software verification. Many existing design-pattern specification languages (DPSLs) focus on class structure alone, while those that do address behaviour suffer from a lack of expressiveness and/or imprecise semantics. In particular, in a review of existing work, three invariant categories were found to be inexpressible in state-of-the-art DPSLs: dependency, object state and data-structure. This paper presents Alas: a precise specification language that supports design-pattern descriptions including these invariant categories. The language is based on UML Class and Sequence diagrams with modified syntax and semantics. In this paper, the meaning of the presented invariants is formalized and relevant ambiguities in the UML Standard are clarified. We have evaluated Alas by specifying the widely-used Gang of Four pattern catalog and identified patterns that benefitted from the added expressiveness and semantics of Alas.
منابع مشابه
Precise Specification and Automatic Application of Design Patterns
Despite vast interest in design patterns, the specification and application of patterns is generally assumed to rely on manual implementation. We describe a precise method of specifying how a design pattern is applied: by phrasing it as an algorithm in a meta-programming language. We present a prototype of a tool that supports the specification of design patterns and their realization in a give...
متن کاملThe Role-Based Metamodeling Language for Specifying Design Patterns
This chapter describes a UML-based pattern specification language called the role-based metamodeling language (RBML), which defines the solution domain of design patterns in terms of roles at the metamodel level. The goal of the RBML is to support the development of precise pattern specifications that can be used for the development of pattern tools. The author describes the approaches and bene...
متن کاملReasoning About Design Patterns: A Case Study
Design patterns are valuable both for designing and for documenting software systems. Patterns are usually described informally. While informal descriptions are very useful, in order to be sure that designers have a precise understanding of the requirements that must be met when applying a given pattern, and to be able to reliably predict the behaviors that systems built using specific patterns...
متن کاملPrecise Visual Specification of Design Patterns
There has been substantial recent interest in captured design expertise expressed as design patterns. Prevalent descriptions of these design patterns suffer from two demerits. Firstly, they capture specific instances of pattern deployment, rather than the essential pattern itself, thus the spirit of the pattern is often lost in the superfluous details of the specific instances described. Second...
متن کاملآزمون خودکار نرمافزارهای شیگرا با استفاده از موردهای کاربری و ضوابط OCL
Test automation is one of the major areas in software engineering. Test automation can reduce the high cost of software development and at the same time increases the reliability of the testing process. In this paper we present a novel specification based framework for automating test process based on use case scenarios. It receives software specification that defined with UML at design level a...
متن کامل